1. Field of the Invention
The present invention relates to networking systems, and more particularly to systems using fibre channel fabrics for interconnecting fibre channel devices.
2. Background of the Invention
Fibre channel is a set of American National Standard Institute (ANSI) standards, which provide a serial transmission protocol for storage and network protocols such as HIPPI, SCSI, IP, ATM and others. Fibre channel provides an input/output interface to meet the requirements of both channel and network users.
Fibre channel supports three different topologies: point-to-point, arbitrated loop and fibre channel fabric. The point-to-point topology attaches two devices directly. The arbitrated loop topology attaches devices in a loop. The fibre channel fabric topology attaches host systems directly to a fabric, which are then connected to multiple devices. The fibre channel fabric topology allows several media types to be interconnected.
Fibre channel is a closed system that relies on multiple ports to exchange information on attributes and characteristics to determine if the ports can operate together. If the ports can work together, they define the criteria under which they communicate.
In fibre channel, a path is established between two nodes where the path's primary task is to transport data from one point to another at high speed with low latency, performing only simple error detection in hardware. The fibre channel switch provides circuit/packet switched topology by establishing multiple simultaneous point-to-point connections.
Fibre channel fabric devices include a node port or “N_Port” that manages fabric connections. The N_port establishes a connection to a fabric element (e.g., a switch) having a fabric port or F_port. Fabric elements include the intelligence to handle routing, error detection, recovery, and similar management functions.
A fibre channel switch is a multi-port device where each port manages a simple point-to-point connection between itself and its attached system. Each port can be attached to a server, peripheral, I/O subsystem, bridge, hub, router, or even another switch. A switch receives a message from one port and automatically routes it to another port. Multiple calls or data transfers happen concurrently through the multi-port fibre channel switch.
Fibre channel switches may use multiple modules (also referred to as “blades”) connected by fibre channel ports. Conventionally, a multi-module switch is integrated as a single switch and appears to other devices in the fibre channel fabric as a single switch.
Fibre channel standard FC-SW-2, Revision 5.4, incorporated herein in its entirety, provides a Fabric Shortest Path First (“FSPF”) protocol (Section 8 of FC-SW-2). FSPF is a link state path selection protocol that uses a path computation algorithm for selecting a path from a source to a destination port based on the cost of the path and forwarding frames to a specific destination.
In Fibre Channel, the most commonly used application is SCSI. SCSI over Fibre Channel (usually referred to as SCSI-FCP) requires in-order delivery of frames. This means that Fibre Channel switches must select a fixed path from a source port to a destination port, even if multiple paths are available.
Fabrics may have multiple routes to the same destination with equal cost within the FSPF protocol. A switch may choose any of these equivalent paths for routing frames. Some switches or Fabrics may want to choose specific routes for reasons not specified in the Fibre Channel standards. For example, a user may wish to balance the load between several paths for the traffic pattern seen on that Fabric. A multi-module Fibre Channel switch may want to have the same routing pattern between modules for predictability and to avoid bottlenecks. This results in preferred routing for the switch.
However, preferred routing has drawbacks. The predetermined preferred routing assumes that all connections are working and it fails if some connections are not working. In addition, preferred routing set up by a user may have errors that can cause a Fabric to malfunction. If a preferred route is not one of the FSPF lowest cost routes, other switches may choose routes that are not consistent.
Therefore, what is required is a process and system that provides a flexible, self-correcting routing technique so that a preferred route is used if viable, and if not, an alternate route can be used.